package com.guigu.aggregation.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 订单
 * </p>
 *
 * @author TaoLong
 * @since 2021-11-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("pd_order")
@ApiModel(value = "Order对象", description = "订单")
public class Order implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    @ApiModelProperty(value =  "订单类型，1为同城订单，2为城际订单")
    private Integer orderType;

    @ApiModelProperty(value = "取件类型，1为网点自寄，2为上门取件")
    private Integer pickupType;

    @ApiModelProperty(value = "下单时间")
    private Date createTime;

    @ApiModelProperty(value = "客户id")
    private String memberId;

    @ApiModelProperty(value = "收件人省份id")
    private String receiverProvinceId;

    @ApiModelProperty(value = "收件人城市id")
    private String receiverCityId;

    @ApiModelProperty(value = "收件人区县id")
    private String receiverCountyId;

    @ApiModelProperty(value = "收件人详细地址")
    private String receiverAddress;

    @ApiModelProperty(value = "收件人地址id")
    private String receiverAddressId;

    @ApiModelProperty(value = "收件人姓名")
    private String receiverName;

    @ApiModelProperty(value = "收件人电话")
    private String receiverPhone;

    @ApiModelProperty(value = "发件人省份id")
    private String senderProvinceId;

    @ApiModelProperty(value = "发件人城市id")
    private String senderCityId;

    @ApiModelProperty(value = "发件人区县id")
    private String senderCountyId;

    @ApiModelProperty(value = "发件人详细地址")
    private String senderAddress;

    @ApiModelProperty(value = "发件人地址id")
    private String senderAddressId;

    @ApiModelProperty(value = "发件人姓名")
    private String senderName;

    @ApiModelProperty(value = "发件人电话")
    private String senderPhone;

    @ApiModelProperty(value = "订单当前所属网点")
    private String currentAgencyId;

    @ApiModelProperty(value = "付款方式,1.预结2到付")
    private Integer paymentMethod;

    @ApiModelProperty(value = "付款状态,1.未付2已付,3.超时")
    private Integer paymentStatus;

    @ApiModelProperty(value = "金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "预计到达时间")
    private Date estimatedArrivalTime;

    @ApiModelProperty(value = "距离，单位：公里")
    private BigDecimal distance;

    @ApiModelProperty(value = "1.下单（，待取件）  2.网点自寄  3.已取件 4.网点入库，待发车  5.运输中  6.网点出库，待派送 7.派送中  8.签收（已签收 或 拒收）")
    private Integer status;


}
